﻿using System;
namespace System.Data.Services.Parsing
{
    /// <summary>This type provides constants used in Astoria expressions.</summary>
    internal static class ExpressionConstants
    {
        /// <summary>"add" keyword for expressions.</summary>
        internal const string KeywordAdd = "add";
        /// <summary>"and" keyword for expressions.</summary>
        internal const string KeywordAnd = "and";
        /// <summary>"asc" keyword for expressions.</summary>
        internal const string KeywordAscending = "asc";
        /// <summary>"desc" keyword for expressions.</summary>
        internal const string KeywordDescending = "desc";
        /// <summary>"div" keyword for expressions.</summary>
        internal const string KeywordDivide = "div";
        /// <summary>"eq" keyword for expressions.</summary>
        internal const string KeywordEqual = "eq";
        /// <summary>"false" keyword for expressions.</summary>
        internal const string KeywordFalse = "false";
        /// <summary>"gt" keyword for expressions.</summary>
        internal const string KeywordGreaterThan = "gt";
        /// <summary>"ge" keyword for expressions.</summary>
        internal const string KeywordGreaterThanOrEqual = "ge";
        /// <summary>"lt" keyword for expressions.</summary>
        internal const string KeywordLessThan = "lt";
        /// <summary>"le" keyword for expressions.</summary>
        internal const string KeywordLessThanOrEqual = "le";
        /// <summary>"mod" keyword for expressions.</summary>
        internal const string KeywordModulo = "mod";
        /// <summary>"mul" keyword for expressions.</summary>
        internal const string KeywordMultiply = "mul";
        /// <summary>"not" keyword for expressions.</summary>
        internal const string KeywordNot = "not";
        /// <summary>"ne" keyword for expressions.</summary>
        internal const string KeywordNotEqual = "ne";
        /// <summary>"null" keyword for expressions.</summary>
        internal const string KeywordNull = "null";
        /// <summary>"or" keyword for expressions.</summary>
        internal const string KeywordOr = "or";
        /// <summary>"sub" keyword for expressions.</summary>
        internal const string KeywordSub = "sub";
        /// <summary>"true" keyword for expressions.</summary>
        internal const string KeywordTrue = "true";
        /// <summary>'INF' literal, as used in XML for infinity.</summary>
        internal const string InfinityLiteral = "INF";
        /// <summary>'NaN' literal, as used in XML for not-a-number values.</summary>
        internal const string NaNLiteral = "NaN";
    }
}